package com.flbill.service;

import com.flbill.pojo.dto.CategoryDTO;
import com.flbill.pojo.dto.LoginDTO;
import com.flbill.pojo.dto.UserPageQueryDTO;
import com.flbill.pojo.vo.AdminVO;
import com.flbill.pojo.vo.ClassVO;
import com.flbill.pojo.vo.LoginVO;
import com.flbill.pojo.vo.UserPageVO;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public interface AdminService {
    AdminVO login(LoginDTO loginDTO);
    
    /**
     * 分页查询用户列表
     * @param userPageQueryDTO 查询条件
     * @return 用户列表及分页信息
     */
    UserPageVO pageQuery(UserPageQueryDTO userPageQueryDTO);
    
    /**
     * 删除用户
     * @param id 用户ID
     */
    void deleteUser(Integer id);

    /**
     * 更新用户状态
     * @param id 用户ID
     * @param status 状态值
     */
    void updateUserStatus(Integer id, Integer status);

    List<ClassVO> getCategory(String type);
    
    /**
     * 添加分类
     * @param categoryDTO 分类信息
     */
    void addCategory(CategoryDTO categoryDTO);
    
    /**
     * 修改分类
     * @param id 分类ID
     * @param categoryDTO 分类信息
     */
    void updateCategory(Integer id, CategoryDTO categoryDTO);
    
    /**
     * 删除分类
     * @param id 分类ID
     * @param type 分类类型
     */
    void deleteCategory(Integer id, String type);
}
